package me.firstapp.service.weixin.account;

import java.math.BigDecimal;
import java.util.List;

import me.firstapp.module.weixin.jinbi.JinBiAccountTrace;
import me.firstapp.module.weixin.weibi.WeiBiAccount;
import me.firstapp.module.weixin.weibi.WeiBiAccountTrace;
import me.firstapp.module.weixin.weibi.WeiBiAccountTrace.ChangeType;

public interface WeiBiAccountService {

	WeiBiAccount findWeiBiAccountByCardNoAndOpenId(String cardNo, String openId);

	List<WeiBiAccount> findWeiBiAccounts(int pageNo, int pageSize);

	JinBiAccountTrace executeExchangeJinBi(WeiBiAccount weiBiAccount);

	WeiBiAccountTrace executeTzWeiBiAccount(Long id, ChangeType changeType, BigDecimal tzValue);

	List<WeiBiAccount> findWeiBiAccountsForRank(int limitCount);

	Integer findWeiBiAccountsCounts();

	WeiBiAccount findById(Long id);
}
